﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Lambda表达式案例6_Func委托_
{
    //   Func<T> 委托
    //T 是参数类型，这是一个泛型类型的委托，用起来很方便的。

    class Program
    {
        //说明：我们可以看到，这里的p为int 类型参数， 然而lambda主体返回的是string类型的。
        //static void Main(string[] args)
        //{
        //    Func<int, string> gwl = p => p + 10 + "--返回类型为string";
        //    Console.WriteLine(gwl(10) + "");   //打印‘20--返回类型为string’，z对应参数b，p对应参数a
        //    Console.ReadKey();
        //}

        //说明：从这个例子，我们能看到，p为int类型，j为int类型，返回值为bool类型。
        //看完上面两个例子，相信大家应该明白啦Func<T> 的用法：多个参数，前面的为委托方法的参数，最后一个参数，为委托方法的返回类型。
        static void Main(string[] args)
        {
            Func<int, int, bool> gwl = (p, j) =>
            {
                if (p + j == 10)
                {
                    return true;
                }
                return false;
            };
            Console.WriteLine(gwl(5, 5) + "");   //打印‘True’，z对应参数b，p对应参数a
            Console.ReadKey();
        }
    }
}
